package com.rentplant.mapper;


import com.alibaba.fastjson.JSONObject;
import com.rentplant.Pojo.order;
import com.rentplant.Pojo.orderanditem;
import com.rentplant.Pojo.outrentuserinfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper  //申明作为底层交互
@Repository
public interface orderMapper {

//    付款生成待发货订单
    public boolean payOrder(JSONObject orderinfo);

//    未付款生成待付款订单
    public boolean noPayOrder(JSONObject orderinfo);




//    查找用户全部订单
    public List<orderanditem> selectAllOrderById(JSONObject orderinfo);




//    查找该用户的未付款订单
    public List<order> selectOrderNoPay(JSONObject orderinfo);

//    查找该用户的待收货订单
    public List<order> selectOrderWaitItem(JSONObject orderinfo);

//    查找租用中订单
    public List<order> selectOrderInRent(JSONObject orderinfo);

//    查找待归还订单
    public  List<order> selectOrderBack(JSONObject orderinfo);

    //查找已完成和已评价订单
    public  List<order> selectOrderFinish(JSONObject orderinfo);



//    查找待付款订单
    public List<orderanditem> userOrderNoPay(JSONObject orderinfo);

//    查找待发货订单
    public List<orderanditem> userOrderWaitItem(JSONObject orderinfo);
    //查找自己出售物品的订单
    public List<orderanditem> otherOrderWaitItem(JSONObject orderinfo);

//    查找租用中订单
    public List<orderanditem> userOrderInRent(JSONObject orderinfo);

//    查找待归还订单
    public List<orderanditem> userOrderBack(JSONObject orderinfo);

//    查找已完成订单
    public  List<orderanditem> userOrderFinish(JSONObject orderinfo);



//    按照orderid查询订单
    public  List<orderanditem> orderById(JSONObject orderinfo);





    //    确认付款修改订单为待发货
    public boolean updateToWaitItem(JSONObject orderinfo);

    //用户删除未付款的
    public boolean delNoPay(JSONObject orderinfo);

    // 提交交易快照完成交货
    public boolean updateToInRent(JSONObject orderinfo);

//    提交租赁中快照
    public boolean updatePic(JSONObject orderinfo);

    //续租修改订单信息
    public boolean rentnew(JSONObject orderinfo);


    //删除快照
    public boolean delRentPic(JSONObject orderinfo);

    //归还物品
    public boolean backItemTime(JSONObject orderinfo);
//    归还完毕将物品下架
    public boolean itemtodel(JSONObject iteminfo);

//    完成订单付款的对象
    public List<outrentuserinfo>outRentUserInfo(JSONObject userinfo);

//    订单已评价
    public boolean orderForJudge(String orderid);

    //查找用户物品出租订单
    public List<orderanditem> mineRent(JSONObject openid);



//    订单管理
//    查询全部分页订单
    public List<order> allOrder(JSONObject pageinfo);
//    查询全部订单
    public  List<order> allOrders();
    //修改订单信息
    public boolean updateOrder(JSONObject orderinfo);

//    条件查找
    public List<order> searchOrder(JSONObject searchinfo);
    //    条件查找
    public List<order> searchOrders(JSONObject searchinfo);
}



